{
 "cells": [
  {
   "cell_type": "raw",
   "id": "97e00fdb-f771-473f-90fc-d6038e19fd9a",
   "metadata": {},
   "source": [
    "---\n",
    "sidebar_position: 4\n",
    "sidebar_class_name: hidden\n",
    "title: Agents\n",
    "---"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f4c03f40-1328-412d-8a48-1db0cd481b77",
   "metadata": {},
   "source": [
    "The core idea of agents is to use a language model to choose a sequence of actions to take.\n",
    "In chains, a sequence of actions is hardcoded (in code).\n",
    "In agents, a language model is used as a reasoning engine to determine which actions to take and in which order.\n",
    "\n",
    "## [Quickstart](/docs/modules/agents/quick_start)\n",
    "\n",
    "For a quick start to working with agents, please check out [this getting started guide](/docs/modules/agents/quick_start). This covers basics like initializing an agent, creating tools, and adding memory.\n",
    "\n",
    "## [Concepts](/docs/modules/agents/concepts)\n",
    "\n",
    "There are several key concepts to understand when building agents: Agents, AgentExecutor, Tools, Toolkits.\n",
    "For an in depth explanation, please check out [this conceptual guide](/docs/modules/agents/concepts)\n",
    "\n",
    "\n",
    "## [Agent Types](/docs/modules/agents/agent_types/)\n",
    "\n",
    "There are many different types of agents to use. For a overview of the different types and when to use them, please check out [this section](/docs/modules/agents/agent_types/).\n",
    "\n",
    "## [Tools](/docs/modules/agents/tools/)\n",
    "\n",
    "Agents are only as good as the tools they have. For a comprehensive guide on tools, please see [this section](/docs/modules/agents/tools/).\n",
    "\n",
    "## How To Guides\n",
    "\n",
    "Agents have a lot of related functionality! Check out comprehensive guides including:\n",
    "\n",
    "- [Building a custom agent](/docs/modules/agents/how_to/custom_agent)\n",
    "- [Streaming (of both intermediate steps and tokens](/docs/modules/agents/how_to/streaming)\n",
    "- [Building an agent that returns structured output](/docs/modules/agents/how_to/agent_structured)\n",
    "- Lots functionality around using AgentExecutor, including: [using it as an iterator](/docs/modules/agents/how_to/agent_iter), [handle parsing errors](/docs/modules/agents/how_to/handle_parsing_errors), [returning intermediate steps](/docs/modules/agents/how_to/intermediate_steps), [capping the max number of iterations](/docs/modules/agents/how_to/max_iterations), and [timeouts for agents](/docs/modules/agents/how_to/max_time_limit)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a39384ab-6beb-4611-a95c-9a51c718ca23",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
